package com.tgpms.web.element.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.sql.Blob;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;

/**
 * <p>
 * 
 * </p>
 *
 * @author newway
 * @since 2020-10-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("MATERIAL_EXAMINATION")
@ApiModel(value="MaterialExamination对象", description="D4190验收交验单实体类")
public class MaterialExamination implements Serializable {

    @TableId(value = "EXAMINATION" , type = IdType.INPUT)
    private String examination;

    @TableField(value = "EXAMINATION_TYPE")
    private String examinationType;

    @TableField(value = "EXAMINATION_STATUS")
    private String examinationStatus;

    @TableField(value = "EXAMINATION_FLAG")
    private String examinationFlag;

    @TableField(value = "EXAMINATION_DATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date examinationDate;

    @TableField(value = "PROVIDE_PO_NO")
    private String providePoNo;

    @TableField(value = "PROVIDE_COMPANY")
    private String provideCompany;

    @TableField(value = "PO_ITEM")
    private String poItem;

    @TableField(value = "PSI")
    private String psi;

    @TableField(value = "QUICK_CODE")
    private Integer quickCode;

    @TableField(value = "MATERIAL_QTY")
    private BigDecimal materialQty;

    @TableField(value = "MRR")
    private String mrr;

    @TableField(value = "ISSUE")
    private String issue;

    @TableField(value = "PROJECT")
    private String project;

    @TableField(value = "SUB_PROJECT")
    private String subProject;

    @TableField(value = "CWP_CODE")
    private String cwpCode;

    @TableField(value = "CONSTRUCTION_PO_NO")
    private String constructionPoNo;

    @TableField(value = "CONSTRUCTION_COMPANY")
    private String constructionCompany;

    @TableField(value = "PICKED_BY")
    private String pickedBy;

    @TableField(value = "MANAGE_BY")
    private String manageBy;

    @TableField(value = "USED_BY")
    private String usedBy;

    @TableField(value = "EXAMINATION_WL")
    private String examinationWl;

    @TableField(value = "MODIFY_DATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date modifyDate;

    @TableField(value = "MODIFY_USER")
    private String modifyUser;

    @TableField(value = "INSERT_USER")
    private String insertUser;

    @TableField(value = "INSERT_DATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date insertDate;

    @TableField(value = "DATA_OWNER")
    private String dataOwner;

    @TableField(value = "NOTE")
    private String note;

    @TableField(value = "PICKED_BY_NAME")
    private String pickedByName;

    @TableField(value = "USED_BY_NAME")
    private String usedByName;

    @TableField(value = "MANAGE_BY_NAME")
    private String manageByName;

    @TableField(value = "STORE_WL")
    private String storeWl;

    @TableField(value = "GW")
    private BigDecimal gw;

    @TableField(value = "TARE")
    private BigDecimal tare;

    @TableField(value = "ABNORMAL_QTY")
    private BigDecimal abnormalQty;

    @TableField(value = "MANUFACTURER")
    private String manufacturer;

    @TableField(value = "SCALES_CODE")
    private String scalesCode;

    @TableField(value = "VEHICLE_NUMBER")
    private String vehicleNumber;

    @TableField(value = "DRIVER_NAME")
    private String driverName;

    @TableField(value = "PHOTO2")
    private Blob photo2;

    @TableField(value = "PHOTO1")
    private Blob photo1;

    @TableField(value = "PLAN_DATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date planDate;

    @TableField(value = "DOCUMENT_BY")
    private String documentBy;

    @TableField(value = "EXECUTE_BY")
    private String executeBy;

    @TableField(value = "SEND_BY")
    private String sendBy;

    @TableField(value = "APPROVE_BY")
    private String approveBy;

    @TableField(value = "ON_TIME")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date onTime;

    @TableField(value = "DOWN_TIME")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date downTime;

    @TableField(value = "FROM_SCALES")
    private String fromScales;

    @TableField(value = "POUND_MEMBER")
    private String poundMember;

    @TableField(value = "FACTORY_GW")
    private BigDecimal factoryGw;

    @TableField(value = "FACTORY_TARE")
    private BigDecimal factoryTare;

    @TableField(value = "FACTORY_NETWIGHT")
    private BigDecimal factoryNetwight;

    @ApiModelProperty(value = "批次集合字符串")
    @TableField(exist = false)
    private String batchList;
}